FROM node:22-bookworm-slim AS base

ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN apt-get update \
  && apt-get install -y --no-install-recommends ca-certificates openssl \
  && rm -rf /var/lib/apt/lists/*
RUN corepack enable

WORKDIR /app

COPY package.json pnpm-workspace.yaml turbo.json tsconfig.base.json ./
COPY apps/api/package.json apps/api/package.json
COPY apps/bot/package.json apps/bot/package.json
COPY apps/worker/package.json apps/worker/package.json
COPY apps/admin-web/package.json apps/admin-web/package.json
COPY packages/core/package.json packages/core/package.json
COPY packages/database/package.json packages/database/package.json
COPY packages/prompts/package.json packages/prompts/package.json
COPY packages/provider-adapters/package.json packages/provider-adapters/package.json
COPY packages/queue/package.json packages/queue/package.json

RUN pnpm install --no-frozen-lockfile

COPY . .
ENV DATABASE_URL="postgresql://market_ai:market_ai_password@postgres:5432/market_ai"
ENV NEXT_TELEMETRY_DISABLED=1
RUN pnpm build

FROM base AS runner

ENV NODE_ENV=production
WORKDIR /app

CMD ["node", "apps/api/dist/server.js"]
